package com.atguigu.day15.wrappertest;

import org.junit.Test;

import java.util.ArrayList;

/*
包装类: 基本数据类型的对象类型
   why: 某些场景下 不能使用基本数据类型 泛型
   基本数据类型对应的包装类型:
       byte     Byte
       short    Short
       int      Integer
       long     Long
       float    Float
       double   Double
       char     Character
       boolean  Boolean
   装箱与拆箱:
      装箱: 将基本数据类型 --> 包装类型
            自动装箱: 直接将基本类型数据赋值给包装类型
                     Integer i = 10; 底层使用了 包装类型.valueOf(基本数据类型的值)
      拆箱: 将包装类型--> 基本数据类型



 */
public class WrapperTest {

    @Test
    public void test05(){
        //todo 自动拆箱: 把包装类型的值 赋值给基本数据类型
        Integer i = new Integer(20);
        int m = i;
        System.out.println("m = " + m);
        Double d = new Double(3.14);
        double value = d;
        System.out.println("value = " + value);


    }



    @Test
    public void test04(){
     //todo 自动装箱
        int m = 10;
        Integer i = m;
        System.out.println("i = " + i);

        double d = 3.14;
        Double d2 = d;

    }

    @Test
    public void test03(){
     //todo 装箱
        int num = 10;
        Integer i = Integer.valueOf(num);
        System.out.println("i = " + i);

        double d = 3.14;
        Double v = Double.valueOf(d);
        System.out.println("v = " + v);

        boolean b = true;
        Boolean b1 = Boolean.valueOf(b);

    }

    @Test
    public void test02(){
       /* ArrayList<Integer> list = new ArrayList();

        list.add(10);
        list.add(3.13);
        list.add("杨幂");
        list.add("赵丽颖");*/

    }
    @Test
    public void test01(){
     String s = "你好世界";
     show(s);
     int num = 20;
     show(num);

    }
    public void show(Object o){
        System.out.println("o = " + o);
    }
}
